#include <iostream>
#include <vector>
//c++11函数参数和返回值不能为auto
auto func(auto a)
{
    std::cout << a << std::endl;
    return a;
}

int main()
{
    auto a = 10;
    std::vector<int> v;
    auto ite = v.begin();

    //auto 定义变量需要初始化
    auto a;
    //auto不能同时推导多个类型
    auto a = 1, b = 1.0;

    const int a = 10;
    //这里b为int型而不是const int 型，特殊属性无法推导
    auto b = a;

    //数组类型不能推导
    int c[10] = {0};
    auto b[10] = c;

    //不能推导模板类型
    std::vector<int> v;
    std::vector<auto> f = v;
    return 0;
}